package com.network.config;

import com.lmax.disruptor.RingBuffer;
import com.network.endity.FileSave;
import com.network.task.Producer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;

@Component
@Configuration      //1.主要用于标记配置类，兼备Component的效果。
@EnableScheduling   // 2.开启定时任务
public class SaticScheduleTask
{


    @Autowired
    Config config;
    //3.添加定时任务
    @Scheduled(cron = "0/5 * * * * ?")
    //或直接指定时间间隔，例如：5秒
    //@Scheduled(fixedRate=5000)
    private void configureTasks() {

        FileSave fileSave=new FileSave();
        fileSave.setIp("192.168.1.1");
        fileSave.setFileName("测试");
        config.sendAsyncEmail(fileSave);
        System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
    }
    @Scheduled(cron = "0/2 * * * * ?")
    private void configureTasks2() {

        FileSave fileSave=new FileSave();
        fileSave.setIp("192.168.1.2");
        fileSave.setFileName("测试");
        config.sendAsyncEmail(fileSave);
        System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
    }
    @Scheduled(cron = "0/3 * * * * ?")
    private void configureTasks3() {

        FileSave fileSave=new FileSave();
        fileSave.setIp("192.168.1.3");
        fileSave.setFileName("测试");
        config.sendAsyncEmail(fileSave);
        System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
    }
    @Scheduled(cron = "0/2 * * * * ?")
    private void configureTasks4() {

        FileSave fileSave=new FileSave();
        fileSave.setIp("192.168.1.4");
        fileSave.setFileName("测试");
        config.sendAsyncEmail(fileSave);
        System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
    }
}
